This specification relates to correcting for a rolling shutter distortion in digital images, for example, a video clip composed of a sequence of digital images.
Complementary metal oxide semi-conductor (CMOS)-based camera sensors have a rolling shutter, as opposed to having a global shutter like, e.g., charge-coupled device (CCD)-based camera sensors. Consequently, pixels of a CMOS-based camera sensor are read top-to-bottom, left-to-right, such that the data read at the top of the frame is acquired at a point in time different than the time when the data at the bottom of the frame was acquired. Accordingly, when the camera happens to be moving (e.g., panning) during the roller shutter sequence the resulting image will appear to be tilted. For example, if the camera is panning left (or right) while the shutter is rolling, the resulting image will appear to be tilted to the left (or right). As another example, when panning up (or down), the image appears stretched (or compressed). The tilt angle of the image caused by the rolling shutter is proportional to the speed of the pan. Moreover, the tilt angle is inversely-proportional to the reading (scanning) rate of the pixels of the CMOS sensor. For example, the effect is exaggerated for inexpensive CMOS sensors, which tend to be slow. Additionally, most digital single-lens reflex cameras (DSLR) have large sensors, and, because reading a large sensor tends to take a long time, DSLR cameras especially tend to suffer from rolling shutter distortion.